In the computer industry, it is recognized that disks are inherently unreliable components of computer systems. Mirroring is a technique that enables a system to automatically maintain one or more copies of data so that in the event of a disk hardware failure, a system can continue to process or quickly recover data. Mirroring may be done locally, where it is specifically aimed at prospective disk unreliability, or it may be done remotely, where it forms part of a more sophisticated disaster recovery scheme. Data mirroring to a remote site at a physically distant location is often referred to as data replication. Mirroring may also be done both locally and remotely, as seen in high availability systems. Data mirroring is widely used in database management as well as network attached storage devices.
A network attached storage (NAS) device is a dedicated file server located in a local area network (LAN). Unlike a general purpose computer or workstation, network attached storage architecture consists of the bare-bones components necessary to support file transfers and scalable storage, such as hard disks or tape drives. Any data that appears in the form of files, such as text documents, web content, images, remote system backups, etc., can be stored in a NAS device. NAS devices require no keyboard, monitor, or mouse and usually run on an embedded or minimized operating system such as Portable operating system interface for UNIX (POSIX) rather than a full-featured operating system.
POSIX is a family of standards specified for maintaining compatibility between operating systems. Software programs designed to conform to POSIX standards can easily be ported to POSIX-compliant operating systems. In NAS devices using POSIX-based operating systems, internal identities are determined by ID mapping logic. This logic maps external identities such as Windows® security identifier (SID) or Unix-like user or group identifiers (UIDs/GIDs) to internal (UID/GID) identities. The exact mapping can be determined, for example, by system configuration or the order in which the external entities were mapped.